//=============================================================================
/**
 * @file	savedata_def.h
 * @brief	セーブデータ参照用不完全型定義
 * @author	tamada	GAME FREAK Inc.
 * @date	2005.10.13
 */
//=============================================================================
#ifndef	__SAVEDATA_DEF_H__
#define	__SAVEDATA_DEF_H__

//------------------------------------------------------------
/**
 * @brief	セーブデータ管理構造への不完全型ポインタ
 *
 * 中身は見えないけどポインタ経由で参照はできる
 */
//------------------------------------------------------------
typedef struct _SAVEDATA SAVEDATA;

//------------------------------------------------------------
///	ロード結果定義
//------------------------------------------------------------
typedef enum{
	LOAD_RESULT_NULL = 0,		///<データなし
	LOAD_RESULT_OK,				///<データ正常読み込み
	LOAD_RESULT_NG,				///<データ異常
	LOAD_RESULT_BREAK,			///<破壊、復旧不能
}LOAD_RESULT;

//------------------------------------------------------------
///	セーブ結果定義
//------------------------------------------------------------
typedef enum {
	SAVE_RESULT_CONTINUE = 0,		///<セーブ処理継続中
	SAVE_RESULT_LAST,				///<セーブ処理継続中、最後の一つ前
	SAVE_RESULT_OK,					///<セーブ正常終了
	SAVE_RESULT_NG,					///<セーブ失敗終了
}SAVE_RESULT;

//--------------------------------------------------------------
//	first_statusの結果BIT
//--------------------------------------------------------------
#define NORMAL_NG_BIT			(1<<0)		//通常セーブ：ミラーリングNG
#define NORMAL_BREAK_BIT		(1<<1)		//通常セーブ：破壊
#define FRONTIER_NG_BIT			(1<<2)		//外部フロンティアセーブ：ミラーリングNG
#define FRONTIER_BREAK_BIT		(1<<3)		//外部フロンティアセーブ：破壊
#define VIDEO_NG_BIT			(1<<4)		//外部ビデオセーブ：ミラーリングNG
#define VIDEO_BREAK_BIT			(1<<5)		//外部ビデオセーブ：破壊


#endif	/*	__SAVEDATA_DEF_H__ */